package com.liyiruo.tx.service.main9;

import com.liyiruo.tx.mapper.TableAMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
 *该场景的执行结果就是a1和b2没有存储，而b1存储成功。
 * testMain有事务，而testB不使用事务，所以执行中testB的存储b1成功，然后抛出异常，
 * 此时testMain检测到异常事务发生回滚，但是由于testB不在事务中，
 * 所以只有testMain的存储a1发生了回滚，最终只有b1存储成功，而a1和b1都没有存储
 *
 * @author liyiruo
 * @Description
 * @Date 2022/2/18 下午5:11
 */
@Service
public class TestMain9 {

    @Autowired
    private TableAMapper tableAMapper;
    @Autowired
    private TestBe testBe9;

    @Transactional(propagation = Propagation.REQUIRED)
    public void testMain() {
        tableAMapper.addTableA();  //调用A入参a1
        testBe9.testB();    //调用testB
    }
}
